package awk.jdk8.functionalInterface;

import java.util.function.Predicate;

/**
 * 输入一个参数，并返回一个Boolean值，其中内置许多用于逻辑判断的默认方法：
 */
public class PredicateDemo {

	public static void main(String[] args) {
		//test
		Predicate<Integer> predicate = i -> i > 0;
		// -9 >0 false
		boolean test = predicate.test(-9);
		System.out.println(test);

		Predicate<Integer> predicate2 = i -> i < 5;
		//and    5>3 > 0 这两者没有先后顺序
		boolean test1 = predicate.and(predicate2).test(3);
		System.out.println(test1);

		//negate 6> 0 and 6>=5
		Predicate<Integer> predicate3 = predicate2.negate();
		boolean test3 = predicate.and(predicate3).test(6);
		System.out.println(test3);

		//or 3>0 或者 3>5
		//这两者没有先后顺序
		Predicate<Integer> predicate4 = i -> i > 5;
		boolean test4 = predicate.or(predicate4).test(3);
		System.out.println(test4);

		//isequal
		//使用 object.equals 比较两个 Predicate 是否相等

	}

}
